/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package chatclientedistribuidosmejorado;

import java.io.*;
import java.net.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.*;
import View.*;

/**
 *
 * @author alex
 */
public class ClienteDaemonEscuchaMensajes implements Runnable
{

    //ATRIBUTOS:

   private SalaGui ventana;
   //private DataInputStream msnEntrada;

   //private String mensajeEntrandoString;
   public Cliente cliente;

    //CONSTRUCTOR:

   /*
    public ClienteDaemonEscuchaMensajes(DataInputStream msnEntrada, String mensajeEntrandoString, SalaGui ventana)
    {
       this.msnEntrada = msnEntrada;
       this.mensajeEntrandoString = mensajeEntrandoString;
       this.ventana = ventana;

    }
    */


    public ClienteDaemonEscuchaMensajes(Cliente cliente, SalaGui ventana)
    {
       this.cliente = cliente;
       this.ventana = ventana;

    }


   //METODOS:

   


    // Es invocado cuando el CLiente escribe un mensaje en la GUI:
    public void escucharPor_Mensajes_entrantes_delServidor( DataInputStream msnEntrada )
    {
        try
        {
            while (true)
            {

                // siguiente mensaje desde el SERVIDOR:
                String mensajeEntrandoString = msnEntrada.readUTF();

                //por consola
                System.out.println("ClienteDaemosn.. dentro del while, mens: "+mensajeEntrandoString);

                // EScribir mensaje en la caja de texto de la ventana:
                this.ventana.mensajeRecibidoPorCadaUsuario(mensajeEntrandoString);

            }//end while

        }
        catch( IOException ie )
        {
            System.out.println( ie );
        }
    }



    public void run()
    {

        try
        {
            while (true)
            {

                System.out.println("ClienteDaemosn1.. dentro del while.");

                // siguiente mensaje desde el SERVIDOR:
                String mensajeEntrandoString = this.cliente.getMsnEntrada().readUTF();

                //por consola
                System.out.println("ClienteDaemosn2.. dentro del while, mens: "+mensajeEntrandoString);

                // EScribir mensaje en la caja de texto de la ventana:
                this.cliente.ventana.mensajeRecibidoPorCadaUsuario(mensajeEntrandoString);

            }//end while

        }
        catch( IOException ie )
        {
            System.out.println( ie );
        }

    }

}